<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // ... 运算符 
        // 意义  把数据 对象 set  map 最外边的包裹的符号 去掉
        
        
        // 展开功能 
        //      数组 对象  set  map
        //    应用场景 :
        //       合并数组  合并对象 
        // 合并功能  
        //      解构   形参
        //     应用场景:
        //      接收不确定个数的实参
        //      用小于数组元素个数的容器 去解构数组 






        // 展开功能 

        // var arr1 = [100,200,300,400,500,600,[10,20,30]];

        // console.log(arr1);
        // console.log(...arr1);

        // var arr2 = [...arr1,700,800,900]
        // console.log(arr2);


        // console.log(Math.max(1,3,4,6,7,20));// 20
        // console.log(Math.max([1,3,4,6,7,20])); //NaN
        // console.log(Math.max(...[1,3,4,6,7,20]));// 20 将数组展开即可


        // 展开对象 
        // var obj1 = {name:'张三',age:18}
        // // console.log({...obj1});// 把obj1两侧的{} 去掉 然后放到一个空对象中

        // // 应用 

        // // 合并对象 

        // var  obj2 = {weight:'60kg',height:'181cm'};

        // var obj3 = {...obj1,...obj2};
        // console.log(obj3);


        // 合并功能 
        // var arr = [10,20,30,40,50,60,70,80,90];
        // var [a,b,c,d,e,f,g,h,i] = arr;
        // // console.log(a,b,c,d,e,f,g,h,i);
        // // var [a,b] = arr;
        // // console.log(a,b)// 10,20
        // // var [a,...b] = arr;
        // // console.log(a,b)// 10 [20, 30, 40, 50, 60, 70, 80, 90] 
        // var [a,c,...b] = arr;
        // console.log(a,c,b) // 10 20  [30, 40, 50, 60, 70, 80, 90]

        // ...运算符  应该放到 解构列表的末尾 




        // 之前  不知道有多少个实参   通过 arguments接收所有的实参  

        // 现在多了一个 ... 运算符   
        // 利用它的合并功能  

        function fn1(name,age,...args){
            console.log(`我的名字叫${name},今年${age}岁,其它信息${args}`);
        }



        fn1('张三',20,10,20,3,4,56,7,4,'abc',true,23,4,5,6,7)
        //10,20,3,4,56,7,4,'abc',true,23,4,5,6,7 打包到 args中 

        // 我的名字叫张三,今年20岁,其它信息10,20,3,4,56,7,4,abc,true,23,4,5,6,7
    </script>
</body>
</html>